package com.sj.purchase.modules.cost.config.task;

/**
 * 调度者 负责调度定时任务
 * Created by yangrd on 2017/8/5
 **/
/*@EnableScheduling
@Component*/
@Deprecated
public class SchedulerBack {
//
//    private static final Logger LOGGER = LoggerFactory.getLogger(SchedulerBack.class);
//
//    private IMEITask imeiTask;
//
//    private StockTask stockTask;
//
//    private GySpuTask gySpuTask;
//
//    private static String FORMAT = "yyyy-MM-dd";
//
//    private static String yesterdayStr = null;
//
//    @Autowired
//    private StockTask2 stockTask2;
//
//    @Autowired
//    private OrderTask2 orderTask2;
//
//    @Autowired
//    private AdjustOrderTask2 adjustOrderTask2;
//
//    @Autowired
//    private InventoryTask inventoryTask;
//
//    @Autowired
//    private CostPriceTask costPriceTask;
//
//    @Autowired
//    public SchedulerBack(IMEITask imeiTask, StockTask stockTask, GySpuTask gySpuTask) {
//        this.imeiTask = imeiTask;
//        this.stockTask = stockTask;
//        this.gySpuTask = gySpuTask;
//    }
//
//    @Scheduled(cron = "0 3 0 * * ?")
//    public void now() {
//        yesterdayStr = DateFormatUtils.format(DateUtils.addDays(new Date(), -1), FORMAT);
//    }
//
//
//    @Scheduled(cron = "0 5 0 * * ?")
//    public void stockTask() {
////        yesterday(stockTask::synchronizeWmsStock);
//        stockTask2.synchronizeWmsStock();
//        LOGGER.info("[{}] => 库存同步完成", yesterdayStr);
//    }
//
//    @Scheduled(cron = "0 20 0 * * ?")
//    public void orderTask() {
//        yesterday(orderTask2::synchronizeOrder);
////        yesterday(orderTask::synchronizeOrder);
//        LOGGER.info("[{}] => 订单同步完成", yesterdayStr);
//    }
//
//
//    @Scheduled(cron = "0 25 0 * * ?")
//    public void synchronizeInventory() {
//        yesterday(inventoryTask::synchronizeInventory);
//    }
//
//    @Scheduled(cron = "0 30 0 * * ?")
//    public void adjustOrderTask() {
//        adjustOrderTask2.synchronizeAdjustOrder(yesterdayStr.replaceAll("-", "/"));
////        yesterday(adjustOrderTask::saveAdjustOrder);
//        LOGGER.info("[{}] => 调整单同步完成", yesterdayStr);
//    }
//
//
//    @Scheduled(cron = "0 30 2 * * ?")
//    public void calculateTheCostPrice() {
//        //需要在订单与调整单同步完成后调用
//        costPriceTask.calculateTheCostPrice(DateUtils.addDays(new Date(), -1));
//    }
//    //--wms 预计5点同步完成 所以所有的任务放在5点以后
//
//    /**
//     * @see SkuAvgPriceController#add(SkuAvgPriceContainerDTO)
//     * @deprecated 平均价获取方式该为接口推送
//     */
////    @Scheduled(cron = "0 20 6 * * ?")
///*    public void skuAvgCostTask() {
//        yesterday(stockTask::synchronizeSkuAvgCost);
//        LOGGER.info("[{}] => 平均价同步完成", yesterdayStr);
//    }*/
//
//    @Scheduled(cron = "0 30 6 * * ?")
//    public void imeiTask() {
//        yesterday(imeiTask::synchronizeIMEI);
//        LOGGER.info("[{}] => 串码同步完成", yesterdayStr);
//    }
//
//
///*    @Scheduled(cron = "0 50 6 * * ?")
//    public void gySpuTask() {
//        yesterday(gySpuTask::synchronizeGySpu);
//        LOGGER.info("[{}] => gySpu同步完成", yesterdayStr);
//    }*/
//
//
//  /*  @Scheduled(cron = "0 0 7 * * ?")
//    public void stock() {
//        yesterday(stockTask::synchronizeStockCost);
//        LOGGER.info("[{}] => 成本计算", yesterdayStr);
//    }*/
//
//    public void yesterday(Consumer<String> yesterdayTask) {
//        yesterdayTask.accept(yesterdayStr);
//    }
}
